﻿/*
****************************************************************************************************************
*= = 版权信息：Copyright (C) 356 - 999. Ombres Industry Empiral. All rights reserved.
*= = 文件名称：Oscillo.cxx
*= = 功能描述：风之谷可视化工具定义主文件
*= = 编写人员：Carlyon W. Tung
****************************************************************************************************************
*/

/*
*===============================================================================================================
*= = 声明文件
*===============================================================================================================
*/

#include <cstdio>
#include <iostream>
#include <string>

#include <boost/config.hpp>
#include <boost/format.hpp>
#include <boost/version.hpp>

#include <log4cxx/helpers/exception.h>
#include <log4cxx/logger.h>
#include <log4cxx/propertyconfigurator.h>

#include "Oscillo.h"

/*
*===============================================================================================================
*= = 预处理声明
*===============================================================================================================
*/

#ifdef HAVE_CONFIG_H
    #include <config.h>
#endif // End of HAVE_CONFIG_H

/*
*===============================================================================================================
*= = 宏定义
*===============================================================================================================
*/

#define COPYRIGHT "Copyright (C) 356 - 999. Ombres Industry Empiral. All rights reserved."
#define OLVERSION "Oscillo 1.0.1 - 365"
#define OLAUTHORS "Carlyon W. Tung    loongs@syuusui.com"

/*
*===============================================================================================================
*= = 命名空间
*===============================================================================================================
*/

using namespace boost;
using namespace log4cxx;
using namespace log4cxx::helpers;
using namespace std;

/*
*===============================================================================================================
*= = 全局变量
*===============================================================================================================
*/

#ifdef __INSIGHT_OS_WINDOWS__
static const string OscilloLogProperties = ".\\Asgard\\Oscillo.properties";
#else
static const string OscilloLogProperties = "/etc/Windurb/Oscillo.properties";
#endif

/*
*===============================================================================================================
*= = 函数定义
*===============================================================================================================
*/

/*
*===============================================================================================================
*= = 函数名称：main
*= = 功能描述：基本入口函数
*= = 入口参数：int、char **
*= = 出口参数：int
*===============================================================================================================
*/

int main(int argc, char *argv[])
{
    std::cout << COPYRIGHT << std::endl;
    std::cout << OLVERSION << std::endl;
    std::cout << OLAUTHORS << std::endl;

    try
    {
        PropertyConfigurator::configure(OscilloLogProperties);
    }
    catch ( ... )
    {
        std::cout << "Oscillo - Oscillo: log4cxx initial ERROR!" << std::endl;

        return -1;
    }

    LoggerPtr rootLogger = Logger::getRootLogger();
    LOG4CXX_INFO(rootLogger, "Oscillo - Oscillo: Initial SUCCESS.");

    LOG4CXX_DEBUG(rootLogger, boost::format("Boost version is %1%.") % BOOST_LIB_VERSION);

    return 0;
}


/*
****************************************************************************************************************
*= = 文件结束
****************************************************************************************************************
*/


